package top.suven.base.http.admin.log.service;

import top.suven.base.core.mybatis.PageData;
import top.suven.base.http.admin.log.model.LoginLog;
import top.suven.base.http.admin.log.vo.response.LoginClientLog;
import top.suven.base.http.admin.log.vo.response.LoginLogResponseVo;

import java.util.List;

/**
 * @Title: LoginLogWebService.java
 * @Description: 登录日志的业务处理服务类
 * @author lixiangling
 * @date   2018/08/28 11:12:22
 * @version  V1.0.0
 * ----------------------------------------------------------------------------
 *  modifyer    modifyTime                 comment
 *
 * ----------------------------------------------------------------------------
 *
 */
public interface LoginLogWebService {
    /**
     * @Title: 获取登录日志分页信息
     * @Description:
     * @param loginLog @{Link LoginLog}
     * @return
     * @throw
     * @author lixiangling
     * @date 2018/08/28 11:12:22
     *  --------------------------------------------------------
     *  modifyer    modifyTime                 comment
     *
     *  --------------------------------------------------------
     */
    public PageData<LoginLogResponseVo> getLoginLogPage(LoginLog loginLog, int start, int pageSize);
   /**
    * @Title: 获取登录日志列表信息
    * @Description:
    * @param loginLog @{Link LoginLog}
    * @return
    * @throw
    * @author lixiangling
    * @date 2018/08/28 11:12:22
    *  --------------------------------------------------------
    *  modifyer    modifyTime                 comment
    *
    *  --------------------------------------------------------
    */
    public List<LoginLog> getLoginLogList(LoginLog loginLog);
    /**
     * @Title: 新增登录日志信息
     * @Description:
     * @param loginLog @{Link LoginLog}
     * @return
     * @throw
     * @author lixiangling
     * @date 2018/08/28 11:12:22
     *  --------------------------------------------------------
     *  modifyer    modifyTime                 comment
     *
     *  --------------------------------------------------------
     */
    public void addLoginLog(LoginLog loginLog);
    /**
    * @Title: 修改登录日志信息
    * @Description:
    * @param loginLog @{Link LoginLog}
    * @return
    * @throw
    * @author lixiangling
    * @date 2018/08/28 11:12:22
    *  --------------------------------------------------------
    *  modifyer    modifyTime                 comment
    *
    *  --------------------------------------------------------
    */
    public void updLoginLog(LoginLog loginLog);
   /**
    * @Title: 获取登录日志信息
    * @Description:
    * @param id @{Link Long}
    * @return
    * @throw
    * @author lixiangling
    * @date 2018/08/28 11:12:22
    *  --------------------------------------------------------
    *  modifyer    modifyTime                 comment
    *
    *  --------------------------------------------------------
    */
    public LoginLog getLoginLog(Long id);
    /**
     * @Title: 删除登录日志信息
     * @Description:
     * @param ids @{Link Long[]}
     * @return
     * @throw
     * @author lixiangling
     * @date 2018/08/28 11:12:22
     *  --------------------------------------------------------
     *  modifyer    modifyTime                 comment
     *
     *  --------------------------------------------------------
     */
    public void del(Long[] ids);
   /**
    * @Title: 启用登录日志信息
    * @Description:
    * @param ids @{Link Long[]}
    * @return
    * @throw
    * @author lixiangling
    * @date 2018/08/28 11:12:22
    *  --------------------------------------------------------
    *  modifyer    modifyTime                 comment
    *
    *  --------------------------------------------------------
    */
    public void turnOn(Long[] ids);
   /**
    * @Title: 禁用登录日志信息
    * @Description:
    * @param ids @{Link Long[]}
    * @return
    * @throw
    * @author lixiangling
    * @date 2018/08/28 11:12:22
    *  --------------------------------------------------------
    *  modifyer    modifyTime                 comment
    *
    *  --------------------------------------------------------
    */
    public void turnOff(Long[] ids);
    /**
     * @Title: 获取用户客户端的登录信息
     * @Description:
     * @param
     * @return
     * @throw
     * @author lixiangling
     * @date 2018/8/28 16:28
     *  --------------------------------------------------------
     *  modifyer    modifyTime                 comment
     *
     *  --------------------------------------------------------
     */
    public LoginClientLog getLoginInfoClient();
    /**
     * @Title: 获取登录日增长率
     * @Description:
     * @param
     * @return
     * @throw
     * @author lixiangling
     * @date 2018/8/30 18:27
     *  --------------------------------------------------------
     *  modifyer    modifyTime                 comment
     *
     *  --------------------------------------------------------
     */
    public LoginClientLog getLoginInfoRateOfRise();
}